package com.ruoyi.system.weather.domain;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 天气信息对象 weather
 *
 * @author ruoyi
 * @date 2024-06-16
 */

@Data
public class Weather extends BaseEntity
{
    private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmXXX");
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String id;

    /** 城市id */
    @Excel(name = "城市id")
    private String cityId;

    /** 城市名称 */
    @Excel(name = "城市名称")
    private String cityName;

    /** 露点温度。可能为空 */
    @Excel(name = "露点温度。可能为空")
    private String dew;

    /** 温度，默认单位：摄氏度 */
    @Excel(name = "温度，默认单位：摄氏度")
    private String temp;

    /** 体感温度，默认单位：摄氏度 */
    @Excel(name = "体感温度，默认单位：摄氏度")
    private String feelsLike;

    /** 天气状况的图标代码，另请参考天气图标项目 */
    @Excel(name = "天气状况的图标代码，另请参考天气图标项目")
    private String icon;

    /** 天气状况的文字描述，包括阴晴雨雪等天气状态的描述 */
    @Excel(name = "天气状况的文字描述，包括阴晴雨雪等天气状态的描述")
    private String text;

    /** 数据观测时间 */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mmXXX")
    @Excel(name = "数据观测时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date obsTime;

    /** (风向360角度) */
    @Excel(name = "(风向360角度)")
    private String wind360;

    /** 风向 */
    @Excel(name = "风向")
    private String windDir;

    /** 风力等级 */
    @Excel(name = "风力等级")
    private String windScale;

    /** 风速，公里/小时 */
    @Excel(name = "风速，公里/小时")
    private String windSpeed;

    /** 相对湿度，百分比数值 */
    @Excel(name = "相对湿度，百分比数值")
    private String humidity;

    /** 当前小时累计降水量，默认单位：毫米 */
    @Excel(name = "当前小时累计降水量，默认单位：毫米")
    private String precip;

    /** 大气压强，默认单位：百帕 */
    @Excel(name = "大气压强，默认单位：百帕")
    private String pressure;

    /** 能见度，默认单位：公里 */
    @Excel(name = "能见度，默认单位：公里")
    private String vis;

    /** 云量，百分比数值。可能为空 */
    @Excel(name = "云量，百分比数值。可能为空")
    private String cloud;

    /** 原始数据来源，或数据源说明，可能为空 */
    @Excel(name = "原始数据来源，或数据源说明，可能为空")
    private String sources;

    /** 数据许可或版权声明，可能为空 */
    @Excel(name = "数据许可或版权声明，可能为空")
    private String license;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedAt;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updatedBy;

    /** 是否删除(1删除) */
    @Excel(name = "是否删除(1删除)")
    private String deleteFlag;

//    public Date getObsTime() {
//        return obsTime;
//    }
//
//    public void setObsTime(String obsTime) {
//        try {
//            this.obsTime = simpleDateFormat.parse(obsTime);
//        } catch (ParseException e) {
//            e.printStackTrace();
//        }
//    }
}
